﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PluginInterface;


namespace PluginDivision
{
    /// <summary>
    /// Proporciona caracteristícas para poder dividir dos operandos
    /// </summary>
    public class PDivision : Plugin
    {
        
        //CONSTRUCTOR
        /// <summary>
        /// Crea una instancia de un Plugin con características para poder dividir 
        /// dos operandos
        /// </summary>
        public PDivision() { }
        //METODOS
        public string Nombre {
            get { return "División"; }
        }

        public Error control(double op1, double op2)
        {
            try
            {
                if (op2 == 0) {
                    return (new Error("error1", "No se puede dividir por cero", false));
                }
                double op = op1 / op2;
                return (new Error(true));
            }
            catch (DivideByZeroException) { return (new Error("error1","No se puede dividir por cero",false )) ;}
            catch (ArgumentException) { return (new Error("error2","Argumento no válido",false )); }
            catch (NullReferenceException) { return (new Error("error3","Argumento nulo",false )); }
        }

        public double operacion(double op1, double op2)
        {

            return (op1 / op2);

        }     
    }
}
